// pages/search/search.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    history:[],  //历史记录
    allMatch: [], //模糊查询数组
    keyword: '', //搜索关键字
    songList:[], // 歌曲列表
    picArr:[], //专辑图列表
    hotList:[],
  },

    ipt:function(e){
      var value = e.detail.value
      if(value == ''){
        this.setData({
          allMatch:[],
          keyword:'',
          songList:[]
        })
      }else{
        wx.request({
          url: 'http://127.0.0.1:3000/search/suggest?keywords=' + value + '&type=mobile',
          success:(res) => {
            // console.log(res)
            var allMatch = res.data.result.allMatch
            this.setData({
              allMatch:allMatch
            })
          }
        })
      }
    },

    allPlay:function(e){
      var id = e.currentTarget.dataset.id
      wx.navigateTo({
        url: '/pages/play/play?id=' + id +'&keyword=' + this.data.keyword,
      })
    },

    toPlay:function(e){
      var id = e.currentTarget.dataset.id
      wx.navigateTo({
        url: '/pages/play/play?id=' + id +'&keyword=' + this.data.keyword,
      })
    },

    search:function(e){
      var keyword = e.currentTarget.dataset.keyword
      var history = this.data.history
      //在输入中查找对应内容  如果找到 返回第一次返回的位置
      //找不到 返回-1
      if(history.indexOf(keyword) >= 0){
        //历史记录中有搜索的内容 则不对历史记录 做任何操作
        this.setData({
          history: history
        })
      }else{
        //保留5次搜索
        if(history.length == 3){
          //pop 从数据结尾删除一个元素
          history.pop()
        }
        //数组前加元素
        history.unshift(keyword)
        wx.setStorage({
        data:history,
        key:'history',
        })
        this.setData({
        history: history
        })
      }
      
      wx.request({
        url: 'http://127.0.0.1:3000/search?keywords='  + keyword,
        success:(res) => {
          // console.log(res)
          var songList = res.data.result.songs
          var picArr = []
          for(let i = 0; i < songList.length; i++){
            wx.request({
              //获取图片
              url: 'http://127.0.0.1:3000/song/detail?ids=' + songList[i].id,
              success:(res) =>{
                var pic = res.data.songs[0].al.picUrl
                picArr.push(pic)
              }
            })
          }
          wx.showToast({
            title: '加载中',
            icon:'loading',
            duration:2000
          })
          setTimeout(() => {
            this.setData({
              songList:songList,
              picArr:picArr,
              keyword:keyword,
              allMatch:[]
            })
          },2000) 
        }
      })
    },

    getHotList:function(){
      wx.request({
        url: 'http://127.0.0.1:3000/search/hot/detail',
        success:(res) =>{
          // console.log(res)
          var hotList = res.data.data
          this.setData({
            hotList:hotList
          })
        }
      })
    },
   
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad:function(options) {
    this.getHotList()

    //获取本地缓存
    wx.getStorage({
      key:'history',//缓存中的变量名
      success:(res) =>{
        // console.log(res)
        this.setData({
          history:res.data
        })
      },
      //缓存中如果没有对应的key值，执行fail回调函数
      fail:() =>{
        this.setData({
          history:[]
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})